From: Gianfranco Costamagna Date: Thu, 7 Sep 2023 22:43:45 +0000 (+0200) Subject: print-lldb-path X-Git-Tag: archive/raspbian/1%15.0.7-10+rpi1~1^2~40 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=39d890e1082e9336dd851af82ed7a2125a0f450f;p=llvm-toolchain-15.git print-lldb-path Last-Update: 2023-01-19 Gbp-Pq: Topic lldb Gbp-Pq: Name print-lldb-path.patch --- diff --git a/lldb/bindings/python/get-python-config.py b/lldb/bindings/python/get-python-config.py index 32d82a54c1..ceca1a6be5 100755 --- a/lldb/bindings/python/get-python-config.py +++ b/lldb/bindings/python/get-python-config.py @@ -15,6 +15,7 @@ def relpath_nodots(path, base): return rel def main(): + import sysconfig parser = argparse.ArgumentParser(description="extract cmake variables from python") parser.add_argument("variable_name") args = parser.parse_args() @@ -31,7 +32,19 @@ def main(): # If not, you'll have to use lldb -P or lldb -print-script-interpreter-info # to figure out where it is. try: - print(relpath_nodots(sysconfig.get_path("platlib"), sys.prefix)) + if hasattr(sysconfig, 'get_default_scheme'): + scheme = sysconfig.get_default_scheme() + else: + scheme = sysconfig._get_default_scheme() + if scheme == 'posix_local': + # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ + scheme = 'posix_prefix' + path = sysconfig.get_path('purelib', scheme) + else: + from distutils import sysconfig + path = sysconfig.get_python_lib(0, 0) + + print(relpath_nodots(path, sys.prefix)) except ValueError: # Try to fall back to something reasonable if sysconfig's platlib # is outside of sys.prefix diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp index a21adcfbdb..dd7751e2a6 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp @@ -238,6 +238,7 @@ void ScriptInterpreterPython::ComputePythonDir( // the real python interpreter uses. (e.g. lib for most, lib64 on RHEL // x86_64, or bin on Windows). llvm::sys::path::remove_filename(path); + llvm::sys::path::append(path, "/llvm-" + std::to_string(LLVM_VERSION_MAJOR)); llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR); #if defined(_WIN32)